During a memory read cycle, there is a need to account for variation in controller-memory-controller loop delay (i.e., read loop delay). For example, in FIG. 21 a plurality of memory modules 104 is coupled to a memory controller 100 over common data (DQ) and strobe (DQS) buses. Not only is a plurality of memory modules coupled to the data and strobe buses, but each of the memory modules may exhibit timing variations within allowed ranges (e.g., within the ranges provided in JEDEC Standard No. 79 published June 2000; hereinafter referred to as the “JEDEC DDR SDRAM Specification”). Furthermore, copies of a clock signal which are distributed to each of the plurality of memory modules may become skewed with respect to one another.
As a result of the above irregularities, read requests which are dispatched to different memory modules (with their varied timing characteristics and skewed clocks) can take varying amounts of time to complete. As a result, there is a variation in read loop delay which needs to be accounted for when determining when to enable and disable the receipt of data and strobe signals at a memory controller. Such a delay can only be accounted for by ensuring that a memory controller will appropriately receive data and strobes in response to a shortest possible loop delay (i.e., an early receipt case) and a longest possible loop delay (i.e., a late receipt case).
The data and strobe bus for memory modules under the JEDEC DDR SDRAM Specification has a notable characteristic. The reference voltage for each bus line is the same as the bus line's termination voltage. What this means is that, as a result of noise, the strobe pads of a memory controller are subject to erroneous “0” to “1” and “1” to “0” transitions when their corresponding bus lines are tri-stated. If not accounted for, these transitions can be erroneously interpreted as active strobe edges, thereby leading to potential data corruption.
A means of effectively handling this characteristic of DDR memory (and other memories with similar characteristics) is therefore needed.